
#pragma once

#include <vector>
#include <list>
#include "Entity.h"

using std::list;

class EntityManager
{
public:
	void Initialize(void);
	static EntityManager* GetInstance(void);
	Entity* CreateEntity(EntityType entityType, float x, float y);
	void Shutdown(void);
	list<Entity*> FindEntitiesInRange(float x, float y, float range);
	void Update(float dt);
	void Render(void);
	
private:
	EntityManager();
	~EntityManager(){}
	EntityManager(EntityManager const&);
	void operator=(EntityManager const&);
	list<Entity*> entityList;
	list<Entity*>::iterator iterator;
};
